/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.mto.module.karaoke.model;

import com.liferay.portal.model.ModelWrapper;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * <p>
 * This class is a wrapper for {@link Song}.
 * </p>
 *
 * @author    vuonglm
 * @see       Song
 * @generated
 */
public class SongWrapper implements Song, ModelWrapper<Song> {
	public SongWrapper(Song song) {
		_song = song;
	}

	public Class<?> getModelClass() {
		return Song.class;
	}

	public String getModelClassName() {
		return Song.class.getName();
	}

	public Map<String, Object> getModelAttributes() {
		Map<String, Object> attributes = new HashMap<String, Object>();

		attributes.put("songId", getSongId());
		attributes.put("songName", getSongName());
		attributes.put("songAuthor", getSongAuthor());
		attributes.put("songCategory", getSongCategory());
		attributes.put("songSinger", getSongSinger());
		attributes.put("recordNumber", getRecordNumber());
		attributes.put("songUrl", getSongUrl());
		attributes.put("createDate", getCreateDate());
		attributes.put("modifiedDate", getModifiedDate());
		attributes.put("audioUrl", getAudioUrl());

		return attributes;
	}

	public void setModelAttributes(Map<String, Object> attributes) {
		Long songId = (Long)attributes.get("songId");

		if (songId != null) {
			setSongId(songId);
		}

		String songName = (String)attributes.get("songName");

		if (songName != null) {
			setSongName(songName);
		}

		String songAuthor = (String)attributes.get("songAuthor");

		if (songAuthor != null) {
			setSongAuthor(songAuthor);
		}

		Integer songCategory = (Integer)attributes.get("songCategory");

		if (songCategory != null) {
			setSongCategory(songCategory);
		}

		String songSinger = (String)attributes.get("songSinger");

		if (songSinger != null) {
			setSongSinger(songSinger);
		}

		Long recordNumber = (Long)attributes.get("recordNumber");

		if (recordNumber != null) {
			setRecordNumber(recordNumber);
		}

		String songUrl = (String)attributes.get("songUrl");

		if (songUrl != null) {
			setSongUrl(songUrl);
		}

		Date createDate = (Date)attributes.get("createDate");

		if (createDate != null) {
			setCreateDate(createDate);
		}

		Date modifiedDate = (Date)attributes.get("modifiedDate");

		if (modifiedDate != null) {
			setModifiedDate(modifiedDate);
		}

		String audioUrl = (String)attributes.get("audioUrl");

		if (audioUrl != null) {
			setAudioUrl(audioUrl);
		}
	}

	/**
	* Returns the primary key of this song.
	*
	* @return the primary key of this song
	*/
	public long getPrimaryKey() {
		return _song.getPrimaryKey();
	}

	/**
	* Sets the primary key of this song.
	*
	* @param primaryKey the primary key of this song
	*/
	public void setPrimaryKey(long primaryKey) {
		_song.setPrimaryKey(primaryKey);
	}

	/**
	* Returns the song ID of this song.
	*
	* @return the song ID of this song
	*/
	public long getSongId() {
		return _song.getSongId();
	}

	/**
	* Sets the song ID of this song.
	*
	* @param songId the song ID of this song
	*/
	public void setSongId(long songId) {
		_song.setSongId(songId);
	}

	/**
	* Returns the song name of this song.
	*
	* @return the song name of this song
	*/
	public java.lang.String getSongName() {
		return _song.getSongName();
	}

	/**
	* Sets the song name of this song.
	*
	* @param songName the song name of this song
	*/
	public void setSongName(java.lang.String songName) {
		_song.setSongName(songName);
	}

	/**
	* Returns the song author of this song.
	*
	* @return the song author of this song
	*/
	public java.lang.String getSongAuthor() {
		return _song.getSongAuthor();
	}

	/**
	* Sets the song author of this song.
	*
	* @param songAuthor the song author of this song
	*/
	public void setSongAuthor(java.lang.String songAuthor) {
		_song.setSongAuthor(songAuthor);
	}

	/**
	* Returns the song category of this song.
	*
	* @return the song category of this song
	*/
	public int getSongCategory() {
		return _song.getSongCategory();
	}

	/**
	* Sets the song category of this song.
	*
	* @param songCategory the song category of this song
	*/
	public void setSongCategory(int songCategory) {
		_song.setSongCategory(songCategory);
	}

	/**
	* Returns the song singer of this song.
	*
	* @return the song singer of this song
	*/
	public java.lang.String getSongSinger() {
		return _song.getSongSinger();
	}

	/**
	* Sets the song singer of this song.
	*
	* @param songSinger the song singer of this song
	*/
	public void setSongSinger(java.lang.String songSinger) {
		_song.setSongSinger(songSinger);
	}

	/**
	* Returns the record number of this song.
	*
	* @return the record number of this song
	*/
	public long getRecordNumber() {
		return _song.getRecordNumber();
	}

	/**
	* Sets the record number of this song.
	*
	* @param recordNumber the record number of this song
	*/
	public void setRecordNumber(long recordNumber) {
		_song.setRecordNumber(recordNumber);
	}

	/**
	* Returns the song url of this song.
	*
	* @return the song url of this song
	*/
	public java.lang.String getSongUrl() {
		return _song.getSongUrl();
	}

	/**
	* Sets the song url of this song.
	*
	* @param songUrl the song url of this song
	*/
	public void setSongUrl(java.lang.String songUrl) {
		_song.setSongUrl(songUrl);
	}

	/**
	* Returns the create date of this song.
	*
	* @return the create date of this song
	*/
	public java.util.Date getCreateDate() {
		return _song.getCreateDate();
	}

	/**
	* Sets the create date of this song.
	*
	* @param createDate the create date of this song
	*/
	public void setCreateDate(java.util.Date createDate) {
		_song.setCreateDate(createDate);
	}

	/**
	* Returns the modified date of this song.
	*
	* @return the modified date of this song
	*/
	public java.util.Date getModifiedDate() {
		return _song.getModifiedDate();
	}

	/**
	* Sets the modified date of this song.
	*
	* @param modifiedDate the modified date of this song
	*/
	public void setModifiedDate(java.util.Date modifiedDate) {
		_song.setModifiedDate(modifiedDate);
	}

	/**
	* Returns the audio url of this song.
	*
	* @return the audio url of this song
	*/
	public java.lang.String getAudioUrl() {
		return _song.getAudioUrl();
	}

	/**
	* Sets the audio url of this song.
	*
	* @param audioUrl the audio url of this song
	*/
	public void setAudioUrl(java.lang.String audioUrl) {
		_song.setAudioUrl(audioUrl);
	}

	public boolean isNew() {
		return _song.isNew();
	}

	public void setNew(boolean n) {
		_song.setNew(n);
	}

	public boolean isCachedModel() {
		return _song.isCachedModel();
	}

	public void setCachedModel(boolean cachedModel) {
		_song.setCachedModel(cachedModel);
	}

	public boolean isEscapedModel() {
		return _song.isEscapedModel();
	}

	public java.io.Serializable getPrimaryKeyObj() {
		return _song.getPrimaryKeyObj();
	}

	public void setPrimaryKeyObj(java.io.Serializable primaryKeyObj) {
		_song.setPrimaryKeyObj(primaryKeyObj);
	}

	public com.liferay.portlet.expando.model.ExpandoBridge getExpandoBridge() {
		return _song.getExpandoBridge();
	}

	public void setExpandoBridgeAttributes(
		com.liferay.portal.service.ServiceContext serviceContext) {
		_song.setExpandoBridgeAttributes(serviceContext);
	}

	@Override
	public java.lang.Object clone() {
		return new SongWrapper((Song)_song.clone());
	}

	public int compareTo(com.mto.module.karaoke.model.Song song) {
		return _song.compareTo(song);
	}

	@Override
	public int hashCode() {
		return _song.hashCode();
	}

	public com.liferay.portal.model.CacheModel<com.mto.module.karaoke.model.Song> toCacheModel() {
		return _song.toCacheModel();
	}

	public com.mto.module.karaoke.model.Song toEscapedModel() {
		return new SongWrapper(_song.toEscapedModel());
	}

	@Override
	public java.lang.String toString() {
		return _song.toString();
	}

	public java.lang.String toXmlString() {
		return _song.toXmlString();
	}

	public void persist()
		throws com.liferay.portal.kernel.exception.SystemException {
		_song.persist();
	}

	/**
	 * @deprecated Renamed to {@link #getWrappedModel}
	 */
	public Song getWrappedSong() {
		return _song;
	}

	public Song getWrappedModel() {
		return _song;
	}

	public void resetOriginalValues() {
		_song.resetOriginalValues();
	}

	private Song _song;
}